SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TXMVTO_INTE_I01]      
/*------------------------------------------------------------*/      
/*---- Empresa     : OFISIS S.A                           ----*/      
/*---- Cliente     : OFISIS S.A							 ----*/      
/*---- Sistema     : Contabilidad        ----*/      
/*---- M>dulo     : Empresa                               ----*/      
/*---- Programa     : Interfase intermedia                ----*/      
/*---- Script     : TWMVTO_INTE.SQL                       ----*/      
/*---- Nombre SP    : SP_TXMVTO_INTE_I01                  ----*/      
/*---- Desarrollado por    : MLU                          ----*/      
/*---- Fecha Creaci>n    : 21/08/1999                     ----*/      
/*---- Base de Datos    : MS SQL Server                   ----*/      
/*---- Versi>n     : 7.0                                  ----*/      
/*---- Invoca a SP     :                                  ----*/      
/*------------------------------------------------------------*/      
/*---- Modificado 4 por    : RVQ                          ----*/      
/*---- Fecha Modificaci>n  : 08/07/2009                   ----*/      
/*---- VALIDACION AUXILIAR NULO Y LONGITUD MAXIMO CTA     ----*/      
/*------------------------------------------------------------*/ 
/*---- Modificado 2 por    : pdgv                          ----*/      
/*---- Fecha Modificaci>n  : 02/06/2004                   ----*/      
/*---- Detalle Modificaci>n: SE HIZO LAS VALIDACIONES     ----*/
/*---- PARA QUE SE GRABE NULL EN CAMPOS  TI_AUXI_EMPR,    ----*/
/*---- CO_AUXI_EMPR, TI_DOCU, NU_DOCU                     ----*/
/*---- CASO DOCUMENTO SEA '' ENTONCES LO GRABA NULL (YA NO SALE EN REPORTE ERRORES)  ----*/      
/*------------------------------------------------------------*/     
/*---- Modificado 3 por    : PERCY GARCIA                 ----*/      
/*---- Fecha Modificaci>n  : 19/11/2004                   ----*/      
/*---- Detalle Modificacion: nuevo campo para DC linea    ----*/      
/*------------------------------------------------------------*/       
/* drop proc SP_TXMVTO_INTE_I01                           ----*/      
/* grant all on SP_TXMVTO_INTE_I01 to PUBLIC              ----*/      
/* SP_TXMVTO_INTE_I01 '01', 'OFITESO', 143, 'C'           ----*/      
/*------------------------------------------------------------*/      
@ISCO_EMPR           TD_VC_002,  
@ISCO_USUA           TD_VC_008,
@IDFE_USUA           TD_DT_001,  
@ISCO_SIST           TD_VC_008,      
@INNU_PROC           TD_IN_001,      
@ISST_PROC           TD_VC_001      

As      
Declare      
-- Declaraci>n Variables Cursores      
@CSCO_EMPR         TD_VC_002,      
@CNNU_CNTB_EMPR    TD_IN_001,      
@CSCO_UNID_CNTB    TD_VC_003,      
@CNNU_ANNO         TD_IN_004_ANNO,      
@CNNU_MESE         TD_IN_002_MESE,      
@CSCO_OPRC_CNTB    TD_VC_003,      
@CSNU_ASTO         TD_VC_010,      
@CNNU_SECU         TD_IN_002,      
@CDFE_ASTO_CNTB    TD_DT_001,      
@CSCO_CNTA_EMPR    TD_VC_020,      
@CSTI_AUXI_EMPR    TD_VC_010,      
@CSCO_AUXI_EMPR    TD_VC_020,      
@CSTI_DOCU         TD_VC_003,      
@CSNU_DOCU         TD_VC_020,      
@CDFE_DOCU         TD_DT_001,      
@CDFE_DOCU_VENC    TD_DT_001,      
@CSTI_CAMB         TD_VC_003,      
@CSCO_MONE         TD_VC_003,      
@CNFA_CAMB         TD_NU_015_006,      
@CNFA_CAMB_DIAR    TD_NU_015_006,      
@CSTI_OPER         TD_VC_003,      
@CNIM_MVTO_ORIG    TD_NU_016_004,      
@CNIM_MVTO_CNTB    TD_NU_016_004,      
@CSDE_GLOS         TD_VC_100,      
@CSNO_GIRA         TD_VC_100,      
@CSCO_ORDE_SERV    TD_VC_020,      
@CSSI_MVTO_CNTB    TD_VC_003,      
@CSCO_USUA_MODI    TD_VC_008,      
@CDFE_USUA_MODI    TD_DT_001,      
@CNCO_TABL_ORIG    TD_IN_001,      
@CSCO_CLAV_TAOR    TD_VC_100,      
@CSTI_DOCU_REFE    TD_VC_003,      
@CSNU_DOCU_REFE    TD_VC_020,      
@CDFE_DOCU_REFE    TD_DT_001,      
-- Otras Variables      
@VSNU_ASTO         TD_VC_010,      
@VSNU_ASTO_0001    TD_VC_010,      
@VNNU_ASTO         TD_IN_001,      
@VNNU_SECU         TD_IN_002,      
-- Para Validaciones      
@VSCO_EMPR         TD_VC_002,      
@VNNU_CNTB_EMPR    TD_IN_001,      
@VSCO_UNID_CNTB    TD_VC_003,      
@VSCO_OPRC_CNTB    TD_VC_003,      
@VNNU_ANNO         TD_IN_004_ANNO,      
@VNNU_MESE         TD_IN_002_MESE,      
@VSDE_ERRO         TD_VC_100,      
@VSCO_MONE         TD_VC_003,      
@VSCO_ORDE_SERV    TD_VC_020,      
@VSCO_MONE_0001    TD_VC_003,      
@VSCO_CNTA_EMPR    TD_VC_010,      
@VSTI_AUXI_EMPR    TD_VC_001,      
@VSCO_AUXI_EMPR    TD_VC_020,      
@VSTI_DOCU         TD_VC_003,      
--      
@VSST_AUXI_EMPR    TD_VC_001,      
@VSST_AUXI_DOCU    TD_VC_001,      
@VSTI_AUXI_DOCU    TD_VC_001,      
@VSID_MONE         TD_VC_001,      
@VNNU_CONT         TD_IN_001,      
@VSCO_MONE_CNTA    TD_VC_003,      
@VSST_ORDE_SERV    TD_VC_001,      
@CSCO_TIPO_OPER    TD_VC_003,      
@VSID_DIFE         TD_VC_003,      
@VSCO_OPRC_DIFE    TD_VC_003,    
@CNNV_INFO_AUXI	   TD_IN_001,
@CSST_CANC_DOCU	   TD_VC_001,

@CSTI_SITU_AUXI    TD_VC_003,
@CSNV_INFO_CNTA    TD_IN_001    

Begin      
      
 UPDATE TTINTE_CNTB       
 SET TI_AUXI_EMPR = NULL, CO_AUXI_EMPR = NULL      
 WHERE Rtrim(ltrim(TI_AUXI_EMPR)) = '' AND NU_PROC = @INNU_PROC      
      
 UPDATE TTINTE_CNTB       
 SET FE_DOCU = NULL, FE_DOCU_VENC = NULL      
 WHERE    TI_DOCU IS NULL AND       
 NU_DOCU IS NULL AND      
 NU_PROC = @INNU_PROC      
/*----
 UPDATE TTINTE_CNTB       
 SET TI_DOCU = NULL
 WHERE Rtrim(Ltrim(TI_DOCU)) = '' AND NU_PROC = @INNU_PROC      

 UPDATE TTINTE_CNTB       
 SET NU_DOCU = NULL
 WHERE Rtrim(Ltrim(NU_DOCU)) = '' AND NU_PROC = @INNU_PROC      

 UPDATE TTINTE_CNTB       
 SET CO_ORDE_SERV = NULL
 WHERE Rtrim(Ltrim(CO_ORDE_SERV)) = '' AND NU_PROC = @INNU_PROC      
---*/
      
 Select @VSCO_CNTA_EMPR = NULL,      
        @VSST_AUXI_EMPR = NULL,      
        @VSST_AUXI_DOCU = NULL,      
        @VSCO_MONE_CNTA = NULL,      
        @VSST_ORDE_SERV = NULL      
      
  -- Declaraci>n Cursor      
  Declare CU_TXMVTO_INTE_I01_1 Cursor For      
Select t1.CO_EMPR, t1.NU_CNTB_EMPR, t1.CO_UNID_CNTB, t1.NU_ANNO, t1.NU_MESE,      
       t1.CO_OPRC_CNTB, t1.NU_ASTO, t1.NU_SECU, t1.FE_ASTO_CNTB,      
       t1.CO_CNTA_EMPR, t1.TI_AUXI_EMPR, t1.CO_AUXI_EMPR, t1.TI_DOCU, t1.NU_DOCU,      
       t1.FE_DOCU, t1.FE_DOCU_VENC, t1.TI_CAMB, t1.CO_MONE, t1.FA_CAMB, t1.FA_CAMB_DIAR,      
       t1.TI_OPER, t1.IM_MVTO_ORIG, t1.IM_MVTO_CNTB, t1.DE_GLOS,      
       t1.TI_DOCU_REFE, t1.NU_DOCU_REFE, t1.FE_DOCU_REFE,      
       t1.NO_GIRA, t1.CO_ORDE_SERV, t1.SI_MVTO_CNTB,      
       t1.CO_USUA_MODI, t1.FE_USUA_MODI, t1.CO_TABL_ORIG, t1.CO_CLAV_TAOR, t1.CO_TIPO_OPER,       
       t2.CO_MONE, t2.ID_DIFE,       
       t3.NU_ANNO, t3.NU_MESE, t3.NU_ULTI_ASTO,       
       t4.CO_CNTA_EMPR, t4.ST_AUXI_EMPR, t4.ST_DOCU_CNTB, t4.ST_MONE, t4.CO_MONE, t4.ST_ORDE_SERV,       
       t5.CO_AUXI_EMPR, t6.TI_AUXI_EMPR, t6.NV_INFO_AUXI, t1.ST_CANC_DOCU, T8.TI_SITU, t7.NV_INFO_CNTA
  From TTINTE_CNTB t1 
  Left Outer Join TTCNTB_EMPR t2 On 
  t2.CO_EMPR = t1.CO_EMPR       
  And t2.NU_CNTB_EMPR = t1.NU_CNTB_EMPR    

  Left Outer Join TCFECH_PROC t3 On 
      t3.CO_EMPR = t1.CO_EMPR       
  And t3.NU_CNTB_EMPR = t1.NU_CNTB_EMPR       
  And t3.CO_UNID_CNTB = t1.CO_UNID_CNTB      
  And t3.CO_OPRC_CNTB = t1.CO_OPRC_CNTB      
  And t3.NU_ANNO = t1.NU_ANNO      
  And t3.NU_MESE = t1.NU_MESE      

  Left Outer Join TMPLAN_EMPR t4 On 
      t4.CO_EMPR = t1.CO_EMPR       
  And t4.CO_CNTA_EMPR = t1.CO_CNTA_EMPR
  And t4.NU_ANNO = 9999      --
  And t4.TI_SITU = 'ACT'     --
  
  Left Outer Join TMAUXI_EMPR t5 On 
      t5.CO_EMPR = t1.CO_EMPR       
  And t5.TI_AUXI_EMPR = t1.TI_AUXI_EMPR       
  And t5.CO_AUXI_EMPR = t1.CO_AUXI_EMPR       
  Left Outer Join TTAUXI_EMPR t6  On     
      t6.CO_EMPR = t1.CO_EMPR       
  And t6.TI_AUXI_EMPR = t1.TI_AUXI_EMPR       

  Left Outer Join TMPARA_CONT t7 On
      t7.CO_EMPR = t1.CO_EMPR
  And t7.NU_ANNO = t1.NU_ANNO

 Left Outer Join TMAUXI t8 On 
      t8.CO_EMPR = t1.CO_EMPR       
  And t8.TI_AUXI_EMPR = t1.TI_AUXI_EMPR       
  And t8.CO_AUXI_EMPR = t1.CO_AUXI_EMPR       

  Where  t1.CO_EMPR = @ISCO_EMPR      
  And    t1.NU_PROC = @INNU_PROC      
 

  Order  By t1.CO_EMPR, t1.NU_CNTB_EMPR, t1.NU_ANNO, t1.NU_MESE, t1.CO_UNID_CNTB,      
  t1.CO_OPRC_CNTB, t1.NU_ASTO, t1.NU_SECU           
      
  Open CU_TXMVTO_INTE_I01_1      
  Fetch CU_TXMVTO_INTE_I01_1 Into      
        @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB,      
        @CNNU_ANNO, @CNNU_MESE, @CSCO_OPRC_CNTB, @CSNU_ASTO,@CNNU_SECU,      
        @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,      
        @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,      
        @CDFE_DOCU_VENC, @CSTI_CAMB, @CSCO_MONE, @CNFA_CAMB,      
        @CNFA_CAMB_DIAR, @CSTI_OPER, @CNIM_MVTO_ORIG,      
        @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE, @CSNO_GIRA,      
        @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB,      
        @CSCO_USUA_MODI, @CDFE_USUA_MODI, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR,      
        @CSCO_TIPO_OPER, @VSCO_MONE, @VSID_DIFE, @VNNU_ANNO, @VNNU_MESE, @VNNU_ASTO,       
        @VSCO_CNTA_EMPR, @VSST_AUXI_EMPR, @VSST_AUXI_DOCU, @VSID_MONE, @VSCO_MONE_CNTA, 
		@VSST_ORDE_SERV, @VSCO_AUXI_EMPR, @VSTI_AUXI_EMPR, @CNNV_INFO_AUXI, 
		@CSST_CANC_DOCU, @CSTI_SITU_AUXI, @CSNV_INFO_CNTA
      
  -- Setea Valor de Contador      
  Select @VNNU_CONT = 0      
      
      
  -- Elimina Datos de Tablas Intermedias      
  Delete From TTERRO_INTE      
   Where CO_EMPR = @CSCO_EMPR       
    And  NU_PROC = @INNU_PROC      
      
  Delete From TXMVTO_INTE      
   Where CO_EMPR = @CSCO_EMPR      
    And  NU_PROC = @INNU_PROC      
      
  Select @VSNU_ASTO = '@@@'      
      
  Select @VNNU_SECU = 0      
      
  While @@fetch_status = 0      
  Begin      
    Select @VNNU_CONT = 0      
      
    If @CNFA_CAMB_DIAR Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = ' FACTOR CAMBIO DIARIO NO PUEDE SER NULO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI, FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (      
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
      @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
      @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
      @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
      
    /* TIPO CAMBIO */      
      
    If @CNFA_CAMB Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
    Select @VSDE_ERRO = ' FACTOR CAMBIO NO PUEDE SER NULO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,  
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (      
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
	  @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
	  @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
	  @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
	  @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
	  @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
      
      
    /* MONEDA */      
      
    If @CSCO_MONE Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = ' CODIGO DE MONEDA NO PUEDE SER NULO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (      
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
	  @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
	  @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
	  @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
	  @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
	  @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
      
    If @CDFE_ASTO_CNTB Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = ' FECHA ASIENTO NO PUEDE SER NULA'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (      
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
      @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
      @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
      @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
      
    If @CSCO_CNTA_EMPR Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = ' CUENTA CONTABLE NO PUEDE SER NULA'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (       
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
      @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
      @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
      @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      

    End      

    If @CSCO_CNTA_EMPR Is NOT Null And Len(@CSCO_CNTA_EMPR) != @CSNV_INFO_CNTA
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'LONGITUD DE CUENTA CONTABLE NO VALIDO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (       
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
      @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
      @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
      @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      

    End 

    If @CNIM_MVTO_ORIG Is Null --OR CONVERT(CHAR,@CNIM_MVTO_ORIG) = ''      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = ' IMPORTE ORIGEN NO PUEDE SER NULO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
      @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
      @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
      @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
      
    If @CNIM_MVTO_CNTB Is Null --OR CONVERT(CHAR,@CNIM_MVTO_CNTB) = ''      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = ' IMPORTE ORIGEN NO PUEDE SER NULO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
      @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
      @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
      @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
      
    -----------------------------------------------------------------      
    -- Fecha de Proceso      
    -----------------------------------------------------------------      
    If @VNNU_ANNO Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'FECHA DE PROCESO NO EXISTE'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
      @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null, Null,
	  @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
      
    -- Para Nomero de Asiento     -- Quiebre de Asiento      
    --------------------------------------      
-- Valida Datos Cabecera      
    --------------------------------------      
    Select @VNNU_CONT = 0      
    Select @VSDE_ERRO = Null      
    -----------------------------------------------------------------      
    -- Empresa      
    -----------------------------------------------------------------      
    If Not Exists( Select  CO_EMPR      
    From   TMEMPR      
    Where  CO_EMPR = @CSCO_EMPR)      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
   Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'EMPRESA NO EXISTE'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER)      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
      @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Nomero Contabilidad      
    -----------------------------------------------------------------      
   If Not Exists ( Select NU_CNTB_EMPR      
    From   TTCNTB_EMPR      
    Where  CO_EMPR      = @CSCO_EMPR      
    And    NU_CNTB_EMPR = @CNNU_CNTB_EMPR )      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'NUMERO CONTABILIDAD NO EXISTE'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, 
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,     
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
      @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Unidad Contable      
    -----------------------------------------------------------------      
    -----------------------------------------------------------------      
    -- Operacion Contable      
    -----------------------------------------------------------------      
    If @CSCO_OPRC_CNTB Is Null      
    Begin      
    -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'CODIGO DE OPERACION NO PUEDE SER NULO'      
      Insert TTERRO_INTE (      
    CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA,       
      Null, Null, @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB,       
      Null, Null, Null,Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO,       
      @ISCO_USUA, @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR,       
      @CSCO_TIPO_OPER )      
      
      Select @VSDE_ERRO = Null      
    End      
    Else      
    Begin      
     If Not Exists ( Select CO_OPRC_CNTB      
      From   TMOPRC_CNTB      
      Where  CO_EMPR      = @CSCO_EMPR      
      And    CO_OPRC_CNTB = @CSCO_OPRC_CNTB )      
      Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'CODIGO DE OPERACION NO EXISTE'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
      NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,    
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
      @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null      
      End      
    End      
    --------------------------------------      
    -- Valida Datos Detalle      
    --------------------------------------      
    -----------------------------------------------------------------      
    -- Cuenta Contable      
    -----------------------------------------------------------------      
      
    If @VSST_ORDE_SERV = 'S' And DataLength(RTrim(IsNull(@CSCO_ORDE_SERV,''))) = 0      
    BEGIN      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'CUENTA LLEVA ORDEN DE SERVICIO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,      
      TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ,      
      CO_ORDE_SERV,SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,      
      @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
      @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    END      
      
    If @VSST_ORDE_SERV = 'N' And DATALENGTH(RTRIM(ISNULL(@CSCO_ORDE_SERV, ''))) > 0      
    BEGIN      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'CUENTA NO LLEVA ORDEN DE SERVICIO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,      
      TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ,      
      CO_ORDE_SERV,SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,      
      @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
      @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    END      
      
   Select @VSCO_OPRC_DIFE = CO_OPRC_CNTB      
   from TTIDEN_OPER      
   Where CO_EMPR = @ISCO_EMPR      
   AND NU_CNTB_EMPR = @CNNU_CNTB_EMPR      
   AND ID_OPRC = @VSID_DIFE      
      
    If @VSID_MONE = 'S' And @CSCO_MONE != @VSCO_MONE_CNTA 
		And @CSCO_OPRC_CNTB != @VSCO_OPRC_DIFE      
    BEGIN      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'MONEDA NO CORRESPONDE A LA CUENTA '      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,       
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO, CO_USUA_MODI,      
      FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
      Values (      
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE, @CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC,      
      @CSTI_CAMB, @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR, @CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS, @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE,       
      @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, Null, Null,      
      Null, Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    END      
      
    If @VSCO_CNTA_EMPR Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'CUENTA NO EXISTE O ESTA DESACTIVADA '      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,      
      TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,      
      TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ,      
      CO_ORDE_SERV,SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
    Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER)      
      
      Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Tipo Auxiliar      
    -----------------------------------------------------------------      
    If IsNull(Rtrim(Ltrim(@CSTI_AUXI_EMPR)), '') != ''  
    Begin      
      If IsNull(Rtrim(Ltrim(@VSTI_AUXI_EMPR)), '') = ''  
      Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'TIPO AUXILIAR NO EXISTE'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,      
        @CSCO_CNTA_EMPR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,      
        @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
        @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
        @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
        @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
        Select @VSDE_ERRO = Null      
      End      
    End      
    -----------------------------------------------------------------      
    -- C>digo Auxiliar      
    -----------------------------------------------------------------      
    If IsNull(RTrim(Ltrim(@CSCO_AUXI_EMPR)), '') != ''--  
    Begin      
      If  IsNull(Rtrim(Ltrim(@VSCO_AUXI_EMPR)), '') = '' 			
      Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'CODIGO AUXILIAR NO EXISTE'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null,       
        Null, @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null      
      End      
	  If  Not IsNull(Rtrim(Ltrim(@CSTI_SITU_AUXI)), '') != 'ANU' 			
      Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'AUXILIAR ESTA DESACTIVADO'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null,       
        Null, @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null      
      End      
      If  Len(Rtrim(Ltrim(@VSCO_AUXI_EMPR))) != @CNNV_INFO_AUXI  -- Valida Longitud
      Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'LONGITUD CODIGO AUXILIAR NO VALIDO'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null,       
        Null, @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null      
      End      

    End      
    -----------------------------------------------------------------      
    -- Valida Auxiliar Vs Plan Cuentas      
    -----------------------------------------------------------------      
    If @VSST_AUXI_EMPR = 'N' And ((@CSTI_AUXI_EMPR Is Not Null Or @CSCO_AUXI_EMPR Is Not Null)      
         and (Ltrim(Rtrim(@CSTI_AUXI_EMPR)) != '' Or Ltrim(Rtrim(@CSCO_AUXI_EMPR)) != ''))      
    Begin      
    -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'CUENTA NO LLEVA TIPO NI CODIGO AUXILIAR'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG,@CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA,    
        Null, Null, @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
        Select @VSDE_ERRO = Null      
--      End      
    End      
    Else If @VSST_AUXI_EMPR = 'S' And ((@CSTI_AUXI_EMPR Is Null Or @CSCO_AUXI_EMPR Is Null)      
          Or (Ltrim(Rtrim(@CSTI_AUXI_EMPR)) = '' Or Ltrim(Rtrim(@CSCO_AUXI_EMPR)) = ''))          
    Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'CUENTA LLEVA TIPO O CODIGO AUXILIAR'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
        @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null      
--      End      
    End      
    -----------------------------------------------------------------      
    -- Tipo Documento      
    -----------------------------------------------------------------      
--    If @CSTI_DOCU Is Not Null      
    If IsNull(Rtrim(Ltrim(@CSTI_DOCU)), '') != ''  
    Begin      
      Select @VSTI_DOCU = NULL      
      
      Select @VSTI_DOCU = TI_DOCU      
      From   TTDOCU_CNTB      
      Where  TI_DOCU = @CSTI_DOCU      
      
--      If @VSTI_DOCU Is Null      
      If IsNull(Rtrim(Ltrim(@VSTI_DOCU)), '') = ''  
      Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'TIPO DOCUMENTO NO EXISTE'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,NU_ASTO_ORIG,      
        ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
        @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER)      
      
        Select @VSDE_ERRO = Null      
      End     End      
    -----------------------------------------------------------------      
    -- Valida Documento Vs Plan Cuentas      
    -----------------------------------------------------------------      
    If @VSST_AUXI_DOCU = 'N' And (IsNull(Rtrim(Ltrim(@CSTI_DOCU)), '') != '' Or IsNull(Rtrim(Ltrim(@CSNU_DOCU)), '') != '' 
	 Or @CDFE_DOCU Is Not Null      
         Or @CDFE_DOCU_VENC Is Not Null)      

    Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'CUENTA NO LLEVA DATOS DE DOCUMENTO'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE, FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG,       
        DE_ERRO, CO_USUA_MODI,      
        FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
        @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
        Select @VSDE_ERRO = Null      
    End      
    If @VSST_AUXI_DOCU = 'S' And (IsNull(Rtrim(Ltrim(@CSTI_DOCU)), '') = ''   
         Or IsNull(Rtrim(Ltrim(@CSNU_DOCU)), '') = '' Or @CDFE_DOCU Is Null Or @CDFE_DOCU_VENC Is Null)      
    Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'CUENTA LLEVA DATOS DE DOCUMENTO'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE, FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI, FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE, @CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE, @CSNO_GIRA, Null,       
        Null, @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Nomero Documento      
    -----------------------------------------------------------------      
      
  -----------------------------------------------------------------           
  --  Orden Servicio      
  -----------------------------------------------------------------      
    If @CSCO_ORDE_SERV Is Not Null and @VSST_ORDE_SERV = 'S'      
    Begin      
    If Not Exists (  Select  CO_ORDE_SERV      
      From   TMORDE_SERV      
      Where  CO_EMPR      = @CSCO_EMPR      
      And    CO_ORDE_SERV = @CSCO_ORDE_SERV )      
      Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'ORDEN SERVICIO NO EXISTE'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE, FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE, @CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
        @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
        @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null             
       End      
    End      
    -----------------------------------------------------------------      
    -- Moneda      
    -----------------------------------------------------------------      
    If @CSCO_MONE Is Null      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'MONEDA NO PUEDE SER NULA'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER,       
      @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA,  @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER )      
      Select @VSDE_ERRO = Null      
    End      
    Else      
    Begin      
     If IsNull(Rtrim(Ltrim(@VSCO_MONE)), '') = ''  
       Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'TIPO MONEDA NO EXISTE'      
		Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
       Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE, @CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,      
        @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
        @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
        @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
        @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
        @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER )      
      
        Select @VSDE_ERRO = Null      
      End      
    End      
    -----------------------------------------------------------------      
    -- Tipo de Operaci>n      
    -----------------------------------------------------------------      
    If @CSTI_OPER Not In ('ABO','CAR')      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'TIPO OPERACION INCORRECTA'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER )      
      Values (      
      @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,       
      @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU,       
      @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE,       
      @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB,       
    @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA,       
      Null, Null, @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER  )      
      
      Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Tipo de Cambio      
    -----------------------------------------------------------------      
    If @CSTI_CAMB Not In ('COM','VEN','PAC' )      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'TIPO CAMBIO INCORRECTO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,       SI_MVTO_CNTB,  CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
      @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER )      
      
      Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Factor Cambio      
    -----------------------------------------------------------------      
    If @CNFA_CAMB <= 0      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'FACTOR CAMBIO INCORRECTO'      
   Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
    FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
 @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER  )      
      
      Select @VSDE_ERRO = Null      
    End      
      
    If @CNFA_CAMB_DIAR <= 0      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'FACTOR CAMBIO DIARIO INCORRECTO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR , CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
      @CDFE_DOCU_VENC, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null,       
      @CSCO_ORDE_SERV,@CSSI_MVTO_CNTB, Null, Null, Null,Null,      
      @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER )      
      
      Select @VSDE_ERRO = Null      
    End      
      
    If @CSCO_MONE = @VSCO_MONE And @CNFA_CAMB > 1      
    Begin      
        -- Inserta Error      
        Select @VNNU_SECU = @VNNU_SECU + 1      
        Select @VNNU_CONT = @VNNU_CONT + 1      
        Select @VSDE_ERRO = 'VERIFIQUE FACTOR CAMBIO'      
        Insert TTERRO_INTE (      
        CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
        NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
        CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
        FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
        NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
        SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,      
        NU_ASTO_ORIG,ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
        CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
        Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
        @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
        @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
        @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
        @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
        @CSSI_MVTO_CNTB, Null, Null, Null,      
        Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER)      
      
        Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Importe Movimiento Origen  
 -----------------------------------------------------------------      
    If @CNIM_MVTO_ORIG < 0 AND @CSCO_OPRC_CNTB != @VSCO_OPRC_DIFE      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'IMPORTE ORIGEN INCORRECTO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER  )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
      @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER )      
      
      Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Importe Movimiento Contable      
    -----------------------------------------------------------------      
    If @CNIM_MVTO_CNTB < 0      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
     Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'IMPORTE CONTABLE INCORRECTO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
      @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,@CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
      @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER )      
      
      Select @VSDE_ERRO = Null      
    End      
    -----------------------------------------------------------------      
    -- Estatus Documento      
    -----------------------------------------------------------------      
    -----------------------------------------------------------------      
    -- Estatus Movimiento      
    -----------------------------------------------------------------      
    If @CSSI_MVTO_CNTB Not In ('APR','ANU','ELI')      
    Begin      
      -- Inserta Error      
      Select @VNNU_SECU = @VNNU_SECU + 1      
      Select @VNNU_CONT = @VNNU_CONT + 1      
      Select @VSDE_ERRO = 'SITUACION MOVIMIENTO INCORRECTO'      
      Insert TTERRO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, DE_ERRO,      
      CO_USUA_MODI,FE_USUA_MODI , CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER )      
      Values ( @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB,      
      @CSCO_OPRC_CNTB, @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @VNNU_SECU,       
      @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,@CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,      
      @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
      @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,@CSTI_OPER, @CNIM_MVTO_ORIG,       
      @CNIM_MVTO_CNTB, @CSDE_GLOS,@CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, @CSCO_ORDE_SERV,      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @VSDE_ERRO, @ISCO_USUA,      
        @IDFE_USUA, @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER )      
      
      Select @VSDE_ERRO = Null      
    End      
      
    If  @VNNU_CONT = 0      
    Begin      
      
      Insert TXMVTO_INTE (      
      CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,      
      NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,      
      CO_AUXI_EMPR,TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB,      
      FA_CAMB_DIAR,TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE,      
      NU_DOCU_REFE,FE_DOCU_REFE, NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV,      
      SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,      
      ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, CO_USUA_MODI,      
      FE_USUA_MODI, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER, ST_CANC_DOCU)      
      Values (@CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB,      
      @CNNU_ANNO, @CNNU_MESE,@CSNU_ASTO, @CNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,      
      NullIf(RTrim(LTrim(@CSTI_AUXI_EMPR)), ''), NullIf(RTrim(LTrim(@CSCO_AUXI_EMPR)), ''),      
      NullIf(RTrim(LTrim(@CSTI_DOCU)), ''), NullIf(RTrim(LTrim(@CSNU_DOCU)), ''),   
      @CDFE_DOCU, @CDFE_DOCU_VENC, @CSTI_CAMB,      
      @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB_DIAR,      
      @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS,      
      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE,      
      @CDFE_DOCU_REFE, @CSNO_GIRA, Null, Null, NullIf(RTrim(LTrim(@CSCO_ORDE_SERV)), ''),      
      @CSSI_MVTO_CNTB, Null, Null, Null,      
      Null, @INNU_PROC, Null, Null, Null, @ISCO_USUA, @IDFE_USUA, 
      @CNCO_TABL_ORIG, @CSCO_CLAV_TAOR , @CSCO_TIPO_OPER, @CSST_CANC_DOCU )       
     
    End      
       



   Select @VNNU_CONT = 0      
      
    Fetch CU_TXMVTO_INTE_I01_1 Into      
          @CSCO_EMPR, @CNNU_CNTB_EMPR, @CSCO_UNID_CNTB,      
          @CNNU_ANNO, @CNNU_MESE, @CSCO_OPRC_CNTB, @CSNU_ASTO,@CNNU_SECU,      
          @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR, @CSTI_AUXI_EMPR,      
          @CSCO_AUXI_EMPR,@CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,      
          @CDFE_DOCU_VENC, @CSTI_CAMB, @CSCO_MONE, @CNFA_CAMB,      
          @CNFA_CAMB_DIAR, @CSTI_OPER, @CNIM_MVTO_ORIG,   
          @CNIM_MVTO_CNTB, @CSDE_GLOS, @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, 
		  @CDFE_DOCU_REFE, @CSNO_GIRA, @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB,       
          @CSCO_USUA_MODI, @CDFE_USUA_MODI, @CNCO_TABL_ORIG,      
          @CSCO_CLAV_TAOR, @CSCO_TIPO_OPER, @VSCO_MONE, @VSID_DIFE, @VNNU_ANNO, 
		  @VNNU_MESE, @VNNU_ASTO,  @VSCO_CNTA_EMPR, @VSST_AUXI_EMPR, @VSST_AUXI_DOCU, 
		  @VSID_MONE, @VSCO_MONE_CNTA, @VSST_ORDE_SERV, @VSCO_AUXI_EMPR, 
          @VSTI_AUXI_EMPR, @CNNV_INFO_AUXI, @CSST_CANC_DOCU, @CSTI_SITU_AUXI, 
		  @CSNV_INFO_CNTA
  End      
  Close CU_TXMVTO_INTE_I01_1      
  Deallocate CU_TXMVTO_INTE_I01_1      
      
  -- Actualiza Status      
  Update TTPROC_INTE
  Set    ST_PROC = @ISST_PROC
  Where  CO_EMPR = @ISCO_EMPR
  And    NU_PROC = @INNU_PROC
End
/*------------------------------- Fin ------------------------------- */


GO
